home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 4
/
Meeting Pearls Vol. IV (1996)(GTI - Schatztruhe)[!].iso
/
Pearls
/
midi
/
misc
/
Midi2TeX
/
src
/
tp_decl.h
< prev
next >
Wrap
C/C++ Source or Header
|
1994-03-21
|
7KB
|
243 lines
/* Header for module TP_Decl, generated by p2c */
#ifndef TP_DECL_H
#define TP_DECL_H
#ifdef TP_DECL_G
# define vextern
#else
# define vextern extern
#endif
#include <stdio.h>
#undef FALSE
#undef TRUE
typedef enum {FALSE,TRUE} boolean;
typedef unsigned char uchar;
/* #define uchar unsigned char */
#define Char char
#define Void void
#define NilStr '\0'
#define BufSize_ 512 /* 8192 */
#define NoTracks 16
#define MAXSLURR 10
#define true TRUE
#define false FALSE
/* this is the maximum-1 that MusicTeX can handle */
#define MAXBEAMS 9 /* ditto */
#define MAXPARTS 25
#define PT 3.5 /* 0.1 mm 1 inch/72.27 = 25.4/72.27 mm */
#define VERSION "C-version V 1.1"
typedef enum {
WH, WHPPP, WHPP, WHP, H, HPPP, HPP, HP, Q, QPPP, QPP, QP, CPPP,
CPP, C3, CP, C, CCPP, CC3, CCP, CC, CCC3, CCCP, CCC, CCCC3, CCCCP, CCCC
} NoteTypes;
typedef enum { SCREEN, DEBFILE, PRINT, NODEB } DebugType;
typedef enum {
VOID, NOTEON, NOTEOFF, REST, TXT, SIGNATURE, PEDAL, KEYSIGN } EventType;
typedef enum { UP, DOWN } OrientType;
typedef enum { VIOLIN, ALTO1, ALTO2, ALTO3, ALTO4, ALTO5, BASS } ClefType;
typedef enum { STARTSLUR, ENDSLUR, REPEATSLUR } SlurType;
typedef enum { NON, FLAT, SHARP, CORRECT } KeySignType;
typedef struct {
char p[81];
char r[3];
char d[81];
#ifdef THINK_C
char n[40]; /* for including the path in the filename */
#endif
#ifndef THINK_C
char n[9];
#endif
char e[5];
} FileNameType;
typedef char String20Type[21];
typedef char String255Type[256];
typedef uchar BufType[BufSize_];
typedef struct {
unsigned short BufSemaphore;
/*LastAvBytePnt,*/
unsigned short LastNoBytesRead;
char *BufPoint,*ReadBuf;
/* BufType *ReadBuf; */
long BytesProcessed;
long ReadIn, i;
boolean LastBlockRead, NoMoreData;
long FilePosition;
} FileRecord;
typedef struct MeasureTime {
long Measure, MPart;
} MeasureTime;
typedef struct NoteRecord {
uchar MidiChnl, NoteVal, Velocity;
NoteTypes NoteType;
EventType Event;
OrientType Orient;
long FilePos;
MeasureTime EndTime, StartTime;
boolean ChordNote, BeamNote, SlurrNote;
struct NoteRecord *Next, *Prev;
Char *MetaTxt;
} NoteRecord;
typedef struct BeamRecord {
NoteRecord *StartNote, *EndNote;
uchar NoNotes, Pitch, Numb;
char Slope;
OrientType Orient;
NoteTypes NoteType;
boolean Chain2Next;
} BeamRecord;
typedef struct SlurrRecord {
NoteRecord *NotePnt;
uchar NoteVal, Numb1, Numb2;
SlurType KindOf;
OrientType Orient;
boolean Occupied;
} SlurrRecord;
typedef struct ChordRecord {
NoteRecord *StartNote, *EndNote;
uchar NoNotes;
boolean ChordFinished;
} ChordRecord;
typedef struct AccKeyType {
KeySignType c, d, e, f, g, a, b;
} AccKeyType;
typedef AccKeyType AccKeyArray[NoTracks];
typedef struct HeapRecord {
NoteRecord *Tail;
unsigned short Size;
} HeapRecord;
typedef NoteRecord NoteArrayType[50];
typedef ChordRecord ChordArrayType[25];
typedef BeamRecord BeamArrayType[MAXBEAMS];
typedef SlurrRecord SlurrArrayType[MAXSLURR];
typedef struct TrackRecord {
HeapRecord NoteList, SpillList;
ChordArrayType ChordArray;
BeamArrayType BeamArray;
SlurrArrayType SlurrArray;
uchar ChStackEnd, ChStackPoint, NotesSounding, StatusByte;
MeasureTime LastNoteOffTime, Curtime, OldTime, OldOldTime;
FileRecord FilRec;
long SlurrPt, BeamPt, ChordPt;
boolean Beam, Slurring, Chord, Skip, Instrument, ForceZeroBeams,
EndOfTrackRead;
ClefType Clef;
NoteRecord *PartStart[MAXPARTS], *PartEnd[MAXPARTS];
AccKeyType AccKey;
} TrackRecord;
typedef struct ControlInfo {
uchar Num; /* numerator of time signature */
uchar Den; /* denominator of time signature */
long Division; /* ticks in a quarter note */
long TicksPerMeasure;
unsigned short PartTime;
uchar PartType, nparts;
boolean PartOverRule;
long Tempo; /* int microsecs per quart note */
unsigned short Twindow; /* TimeWindow */
long KeySign, Minor;
} ControlInfo;
typedef char MsArray[MAXPARTS][512];
vextern Char TmpStr[41],STR1[256],STR2[256],STR3[256];
/* vextern MsArray *Ms; */
vextern uchar NilPos, Drno, abyte;
vextern long ntracks, ninstruments, nTracksInInstr, CurTrack, FileFormat,
SafetyCounter, OK_result;
vextern FILE *MidiFile;
vextern FILE *DebugFile, *TexFile;
vextern uchar *DebBuf, *TexBuf;
/* SearchRec FileInfo; */
vextern FileNameType DebugFileName, MidiFileName, TeXFileName;
vextern Char path[80];
vextern Char fname[9];
vextern Char dir[80];
vextern Char ext[4];
vextern long ReadIn, i;
vextern boolean Quantizing, QuitTrack, DebugFileOpened, MidiFileOpened,
TeXHeaderFinished, Debug,ChangedContext;
vextern long QuantTime;
vextern long NoOfBytes, ALongInt;
vextern TrackRecord TrackArray[NoTracks];
vextern boolean SlurrIndexes[26];
vextern ControlInfo PieceContr;
vextern MeasureTime TempTime, OldTime, CurTime;
vextern Char MeasureStr[256];
vextern DebugType DebugOut;
vextern long MeasureCount;
/* vextern Char Notes[129];
vextern uchar CPosition; */
vextern FileRecord HlpFilRec;
vextern void *OldExitProc;
vextern NoteRecord *N;
vextern HeapRecord NotePool;
vextern uchar TrackOrder[NoTracks];
vextern long BeamIndex, OrderIndex, NoOfSkips, NoOfPages, Indent, BarIndent,
ScoreWidth, ScoreHeight, ScoreSep, LineHeight, MeasureMaxCnt,
ElemSkip, MusicSize, CumLength, CumHeight;
vextern boolean SizingChanged, BatchProcessing;
/*
vextern Notes : ARRAY[1..66] of string[3] =
('?','?','?','?','?','?','?','?','?','?','?','?','!'+CHAR(39)+'A',
'!'+CHAR(39)+'B','!'+CHAR(39)+'C','!'+CHAR(39)+'D','!'+CHAR(39)+'E',
'!'+CHAR(39)+'F','!'+CHAR(39)+'G','A','B','C','D','E','F','G','H',
'I','J','K','L','M','N','a','b','c','d','e','f','g','h','i','j',
'k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
'?','?',
'?','?','?','?','?');
*/
#undef vextern
#ifdef TP_DECL_G
char Notes[66][4] =
{"?","?","?","?","?","?","?","?","?","?","?","?",
"!'A","!'B","!'C","!'D","!'E","!'F","!'G",
"A","B","C","D","E","F","G","H","I","J","K","L","M","N",
"a","b","c","d","e","f","g","h","i","j","k","l","m","n",
"o","p","q","r","s","t","u","v","w","x","y","z",
"?","?","?","?","?","?","?"};
const int CPosition=36;
#else
extern char Notes[66][4];
extern CPosition;
#endif
#endif /*TP_DECL_H */
void _TP_Decl_init(void);
/* End. */